This section provides background information related to the present disclosure which is not necessarily prior art.
The development of technologies related to the Internet has enabled a large amount of data including, for example, images, audio and video files, software, and video games, to be downloaded and utilized by Internet users. However, the growing number of users downloading data, which may be available from multiple sources, may cause network congestion and various other issues, which deteriorate the user's experience.
Peer-to-Peer (P2P) technology, also known as “peer to peer” technology, is an approach with which a client also acts as a data source and uploads resources to other clients. In such an approach, the upload speed depends on the computational capability and the bandwidth of the participating clients. Peer-to-Server & Peer (P2SP) technology is based on a client-to-server and client mechanism. It not only supports P2P technology, but it also integrates server resources and P2P resources through a retrieval database. When the user downloads a file, data sources for the file are divided into an original link, P2P network and an auxiliary source of a third party image. The system may search other sources and selects appropriate sources for acceleration.
With the development of the Internet, P2P and P2SP technologies have been widely used in applications pertaining to file upload and download. Due to clients acting as both a data source and a terminal, many software applications of P2P or P2SP technologies occupy immense bandwidth and cause considerable data traffic in the network. As a result, the local area network, as well as part of the wide area network, can be congested, and thus, the service quality can be degraded.
A serious influence of P2P or P2SP technology on the network occurs when using substantial network bandwidth, which may easily cause heavier network load, packet loss, etc., and, in return, influence P2P or P2SP transmission efficiency. The download speed on one end (e.g., a client) of a P2P software application is closely related to the upload speed on the other end (e.g., another client). In an asynchronous digital user line loop, the uplink bandwidth and the downlink bandwidth are asymmetric and the uplink bandwidth is significantly less than the downlink bandwidth. When upload is at full load, the download speed will change to 40% of the maximum speed. Therefore, if the P2P application does not limit the upload speed, the download speed of the client will become low and the Internet speed (e.g., download speed) of other network software applications running on the client terminal will also be influenced. Therefore, clients may choose to close P2P application in the absence of download tasks, or limit the upload speed of P2P application.
However, as specified in TCP/IP, each data message should have confirmation feedback. That is, after data transmission, for each data message, a confirmation reply of receiving the data message should be sent back. Accordingly, a subsequent transmission speed is determined and whether there is a loss of data message and whether the lost data should be transmitted again are also determined. Part of the uplink bandwidth is used for transmitting the confirmation data.
If the client severely limits the upload speed, the uplink load will be too heavy, the feedback speed of the confirmation data will be reduced, and the download speed will then also be reduced. In the asymmetric digital loop where uplink bandwidth is much less than the download bandwidth, the influence is especially significant.